Global Invariants for Analyzing Multi-threaded Applications
نویسندگان
چکیده
We exhibit an interprocedural framework for the analysis of multi-threaded programs based on partial invariants of a new kind of constraint systems which we call side-effecting. We explore the formal properties of these constraint systems and provide general techniques for computing partial invariants. We demonstrate the practicality of this approach by designing and implementing a reasonably efficient flowand context-sensitive interprocedural data-race analyzer of multi-threaded C.
منابع مشابه
Global Multi-Threaded Instruction Scheduling: Technique and Initial Results
Recently, the microprocessor industry has reached hard physical and micro-architectural limits that have prevented the continuous clock-rate increase, which had been the major source of performance gains for decades. These impediments, in conjunction with the still increasing transistor counts per chip, have driven all major microprocessor manufacturers toward Chip Multiprocessor (CMP) designs....
متن کاملPartial Redundancy Elimination for Multi-threaded Programs
Multi-threaded programs have many applications which are widely used such as operating systems. Analyzing multi-threaded programs differs from sequential ones; the main feature is that many threads execute at the same time. The effect of all other running threads must be taken in account. Partial redundancy elimination is among the most powerful compiler optimizations: it performs loop-invarian...
متن کاملGlobal Instruction Scheduling for Multi-threaded Architectures
Recently, the microprocessor industry has moved toward multi-core or chip multiprocessor (CMP) designs as a means of utilizing the increasing transistor counts in the face of physical and micro-architectural limitations. Despite this move, CMPs do not directly improve the performance of single-threaded codes, a characteristic of most applications. In effect, the move to CMPs has shifted even mo...
متن کاملComparing Alternative Programming Techniques for Multi - threaded CORBA Servers ( Column 6 )
Modern OS platforms like Windows NT, and OS/2 and some flavors of UNIX provide extensive library and system call support for multi-threaded applications. However, programming multi-threaded applications is hard and programming distributed multi-threaded applications is even harder. In particular, developers must address sources of accidental and inherent complexity: Accidental complexity of mul...
متن کاملObject Interconnections Comparing Alternative Programming Techniques for Multi - threaded
Modern OS platforms like Windows NT, and OS/2 and many flavors of UNIX provide extensive library and system call support for multi-threaded applications. However, programming multi-threaded applications is hard and programming distributed multi-threaded applications is even harder. In particular, developers must address sources of accidental and inherent complexity: Accidental complexity of mul...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003